package org.example.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author ducai
 * @since 2024-12-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_permission")
public class UserPermission extends Model<UserPermission> {

private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 是否删除 0-未删除  1-已删除
     */
    @TableField("is_del")
    private Long isDel;

    /**
     * 删除时间
     */
    @TableField("dele_time")
    private LocalDateTime deleTime;

    /**
     * 暴露id
     */
    @TableField("uuid")
    private String uuid;

    /**
     * 权限名称
     */
    @TableField("permission_name")
    private String permissionName;

    /**
     * 权限排序
     */
    @TableField("permission_slot")
    private Integer permissionSlot;

    /**
     * 父级uuid
     */
    @TableField("parent_uuid")
    private String parentUuid;

    /**
     * 编码
     */
    @TableField("code")
    private String code;


    public static final String ID = "id";

    public static final String UPDATE_TIME = "update_time";

    public static final String CREATE_TIME = "create_time";

    public static final String IS_DEL = "is_del";

    public static final String DELE_TIME = "dele_time";

    public static final String UUID = "uuid";

    public static final String PERMISSION_NAME = "permission_name";

    public static final String PERMISSION_SLOT = "permission_slot";

    public static final String PARENT_UUID = "parent_uuid";

    public static final String CODE = "code";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
